Generation of complex synthesized sound such as speech requires some form of voice compression. One voice compression technique that has been heretofore utilized is linear predictive coding (LPC). LPC utilizes a digital lattice filter to model human speech from a set of prestored input parameters contained in a Read Only Memory (ROM). The LPC lattice filter typically is comprised of ten stages with each stage requiring two multiplications and two additions before passing the results backwards and forwards to its neighboring stages. The operations in the ten stages are carried out sequentially, as are the four operations within each stage. Processing of each prestored input parameter through the lattice filter results in a digital output value which is converted to an analog signal level and then amplified for output to a speaker or similar transducer.
In order to synthesize high quality speech with a digital lattice filter, it is necessary to process the prestored input parameters through the lattice filter at a repetition rate of approximately 10 kHz. To operate the lattice filter at this repetition rate, each stage must perform the digital operations therein within ten microseconds. The digital addition and/or subtraction operations required for each stage utilize a relatively straight forward process, whereas the digital multiplication operation is somewhat more complicated. Multiplication of two binary values requires iterative processing which may involve up to four separate additions to yield a product, depending upon the length of the digital values multiplied. The processing of the two multiplications and two additions for each stage can therefore require the generation of up to ten separate sums.
In view of the above disadvantages with present LPC techniques, there exists a need for improving the efficiency of processing information in each stage of a digital lattice filter. Primarily, it is desirous to reduce the number of multiplications required to synthesize quality speech.